草庐IT

c++ - MBCS 到 UTF-8 C++

全部标签

sql-server - 从没有 bom 的 SQL Server 2016 UTF-8 编码导出 XML 文件

正如您现在可能看到的那样,Microsoft终于在其SQLServer2016中支持UTF-8我想知道如何从UTF-8编码且没有bom的存储过程创建XML文件。在SQLServer2016的技术概述中,它表示如下:SupportforimportandexportofUTF-8dataDatastoredinaUTF-8encodedfilecannowbeimportedintoSQLServerandexportedfromSQLServerintoaUTF-8encodedfile,usingBULKINSERTT-SQLcommandandbcpcommandlineutili

具有 unicode 支持且没有 COM 注册的 C++ xml 解析器

基于以下两个条件,我需要使用C++XML解析器/编写器来实现虚拟注册表。它不应该在注册表中写入条目它应该支持unicode字符。我尝试了以下解析器,但没有一个解析器解决了这2个条件:Msxml(写入注册表以创建COM)Xerces(注册COM)TinyXml(reg中没有条目,但不支持unicode字符)快速Xml(无unicodeuspport)所以如果你能知道任何解决我的2条件的方法,请告诉我 最佳答案 看看pugixml. 关于具有unicode支持且没有COM注册的C++xml解

.net - 如何将 UTF-8 编码为 UTF-16 的 xml 字符串转换为 UTF-16?

例如,假设我在字符串中有以下xml:如果我尝试将其插入到带有Xml列的SQLServer2005数据库表中,我将收到以下错误(我使用的是EF4.1,但我认为这无关紧要):XMLparsing:line1,character38,unabletoswitchtheencoding经过一些研究,我了解到SQLServer要求xml为UTF-16。我如何转换它? 最佳答案 我最初的几次尝试涉及流、字节数组和许多编码问题。事实证明,.NET中的字符串已经是UTF-16,因此只需要更改xml声明。其实答案很简单。这是一个将字符串加载到XmlD

c - OpenCV 中的 XML 解析器

我有一个文件locations.xml,其中包含图像文件名,以及在相应图像上绘制的矩形的位置。XML节点结构如下:ryoungt_05.08.2002/aPICT0034.JPG我需要在OpenCV中打开这个文件并读取它,对于XML文件中的每个图像文件名,相应的图像将在窗口中打开,矩形将绘制在对应图片。基本上,我需要打开这些文件并查看矩形,以便使用文本检测算法将它们与绘制在相同图像上的矩形相匹配。但它正在处理让我难过的XML文件。感谢您的帮助。 最佳答案 OpenCV是OpenCV,XML是XML。一个与另一个没有太大关系。检查这个

c# - new UTF8Encoding(false) 仍然写 utf8 BOM

我在我的代码中关闭了BOM,但它仍在我的xml文档中打印它。我不明白。我已经查看了很多资源,但仍然一无所获,应该从开始我的代码是通用的XDocumentxmlDoc=XDocument.Load(CompDir+File.Name);AppendToFile(xmlDoc,aDataRow);using(varwriter=newXmlTextWriter(FilePrep.CompletedDirectory+File.Name,newUTF8Encoding(false))){xmlDoc.Save(writer);writer.Close();}break;附加到文件看起来像这样

java - 未知的 UTF-8 代码单元关闭双引号

我的问题如下。我正在读取一个XML文件,其文本节点部分包含UTF-8版本的左双引号和右双引号。文本被提取,缩短为3999字节并放入新的XML格式,然后保存为文件。虽然输入文件中的Notepad++可以正确显示这两个符号,但输出文件包含无效的utf-8字符,甚至Notepad++也无法显示。开头的双引号打印正确,但结尾的双引号被毁容了。使用十六进制编辑器,我发现代码单元以某种方式从E2809D在输入文件中E2803F在输出文件中。我正在使用sax-parser进行xml解析。是否存在任何可能导致此类行为的已知错误? 最佳答案 这不是已

c# - UTF-8 字节标记检查根据操作系统给出不同的值

我们有一些单元测试在将XML字符串加载到XmlDocument之前检查其UTF-8字节标记。使用Windows764位时一切正常,但我们注意到在尝试在Windows1064位下运行时出现了一系列测试失败。经过一些调查,我们发现Windows10上的XML字符串正在被修剪(前导码存在),而在Windows7上则没有。这是代码片段:publicstaticstringPruneUtf8ByteMark(stringxmlString){varbyteOrderMarking=Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());if(xm

.net - 为什么 xmltextreader 会自动将 html 编码的 utf8 字符转换为 utf8 字符串?

我收到一个编码为“ISO-8859-1”(Latin-1)的XML文件在文件中(以及其他标签)我有Example"content"And─现在出于某种原因,当我将其加载到XMLTextReader中并执行“XmlReader.Value”以返回值时,它返回:“content”并且─然后,当遇到只接受Latin-1编码的数据库时,显然会出错。我尝试了以下方法:转换成字节并使用Encoding.Convert以从UTF-8更改进入Latin-1(成功给了我一堆“?”相反)使用StreamReader(文件,编码。随便)将文件加载到XmlTextReader以

sql-server - 存储过程不喜欢 utf-16

全部,我在SQLServer2005上有一个接受XML参数的存储过程。当我执行时:execPutResultsOnDb''我得到错误:XML解析:第1行,字符39,无法切换编码但是当我这样做的时候execPutResultsOnDb''它工作得很好。有什么想法吗? 最佳答案 第一种情况失败,因为您声明在ASCII字符串中使用UTF-16编码XML。第二种情况很可能有效,因为您没有任何超过127的字符,因此UTF-8与ASCII无法区分。如果要将XML声明为UTF-16,则需要使用N前缀将字符串声明为UCS-2(即mostlycomp

php - 另一个 PHP XML 解析错误 : "Input is not proper UTF-8, indicate encoding!"

错误:Warning:simplexml_load_string()[function.simplexml-load-string]:Entity:line3:parsererror:InputisnotproperUTF-8,indicateencoding!Bytes:0xE70x610x690x73数据库中的XML(在FF中查看源代码的输出):role_fraRoleenfrançaisRoleçenfrançais如果我没理解错的话,这个错误与old_value标签中编码的第一个ç有关。准确的说,这个错误是根据bytes:"çais"?这是我加载X